https://www.imosver.com/pt/libros/codigo-limpio-NOB0003250NOB0003250Código limpio51.21Cada año, se invierten innumerables horas y se pierden numerosos recursos debido a código mal escrito, ralentizando el desarrollo, disminuyendo la productividad, generando graves fallos e incluso pudihttps://static.imosver.com/imagenes_small/9788441/978844153210.jpgLibrosLibros/INFORMATICAEn stockANAYA MULTIMEDIA000https://static.imosver.com/imagenes_small/9788441/978844153210.jpgCIM0079953CIM0053455CIM0018149001032240653.952.692012/07/019788441532106Martin, Robert C.Librosaño_2012idioma_CastelhanoCformato_Tapa blanda o Bolsilloautor_Martin, Robert C.saga_PROGRAMACIóN
Este tipo de cookies permitem ao usuário a navegação através de uma página web, plataforma ou aplicação e a utilização das diferentes opções ou serviços que nela existam.
imosver_session
Descrição
Cookie técnica própria. Mantém a tua sessão identificada enquanto navegas: o carrinho, o idioma e o acesso à tua conta. Sem ela o site não pode funcionar.
Duração
120 minutos
Instalações
Domínio
imosver.com
OCT8NE
Descrição
Este cookie é utilizado para o correto funcionamento do Chat da Oct8ne para prestar o serviço de atendimento ao cliente ao usuário.
São aquelas que possibilitam o acompanhamento e análise do comportamento dos usuários em nossa página. A informação recolhida é utilizada para a medição da atividade dos usuários na web e a elaboração de perfis de navegação dos usuários.
_clsk
Descrição
Cookie própria do Microsoft Clarity. Agrupa numa única sessão as páginas que visitas durante a navegação, para analisar o percurso dentro do site.
Duração
1 dias
Instalações
Domínio
imosver.com
logglytrackingsession
Descrição
Identifica e regista a sessão do usuário para fins analíticos.
Duração
Sessão
Instalações
Domínio
.imosver.com
GOOGLE_ANALYTICS
Descrição
Regista um identificador único que é utilizado para gerar dados estatísticos sobre como o visitante utiliza o sítio web.
Duração
1 Ano
Instalações
Domínio
.imosver.com
_clck
Descrição
Cookie própria do Microsoft Clarity. Guarda um identificador anónimo do navegador para atribuir ao mesmo utilizador as visitas a este site e elaborar estatísticas de utilização.
Duração
1 Ano
Instalações
Domínio
imosver.com
CLID
Descrição
Cookie de terceiros do Microsoft Clarity. Identifica a primeira vez que o Clarity deteta este navegador em qualquer site que utilize o serviço.
Duração
1 Ano
Instalações
Domínio
clarity.ms
_ga
Descrição
Cookie do Google Analytics. Guarda um identificador anónimo do navegador para distinguir utilizadores e elaborar estatísticas de utilização do site.
Duração
2 Ano
Instalações
Domínio
.imosver.com
_ga_LZR660YW0M
Descrição
Cookie do Google Analytics 4. Mantém o estado da sessão de análise para poder medir as visitas e o percurso dentro do site.
Duração
2 Ano
Instalações
Domínio
.imosver.com
São aquelas que nos permitem adaptar a navegação em nosso site às suas preferências (ex.: idioma, navegador utilizado, etc.).
_fbp
Descrição
Utilizado pelo Facebook para oferecer uma série de produtos publicitários, como ofertas em tempo real de anunciantes terceiros.
Duração
3 Mês
Instalações
Domínio
.imosver.com
afiliado
Descrição
Cookie própria do programa de afiliados. Guarda durante 30 dias o código do afiliado que te trouxe até ao site, para lhe poder atribuir a venda.
Duração
1 Mês
Instalações
Domínio
imosver.com
MUID
Descrição
Cookie de terceiros da Microsoft. Identifica navegadores únicos que visitam sites da Microsoft e é utilizada para fins publicitários, de análise e operacionais.
Duração
1 Ano
Instalações
Domínio
clarity.ms
ANONCHK
Descrição
Cookie de terceiros da Microsoft. Indica se o identificador MUID é transferido para o ANID, uma cookie utilizada para fins publicitários.
Duração
10 minutos
Instalações
Domínio
clarity.ms
MR
Descrição
Cookie de terceiros da Microsoft. Indica se o identificador MUID deve ser atualizado.
Duração
7 dias
Instalações
Domínio
clarity.ms
SM
Descrição
Cookie de terceiros da Microsoft. Sincroniza o identificador MUID entre os vários domínios da Microsoft.
Duração
Sessão
Instalações
Domínio
clarity.ms
_fbc
Descrição
Cookie da Meta. Guarda o identificador do anúncio do Facebook ou Instagram a partir do qual chegaste, para atribuir a visita a essa campanha publicitária.
Duração
3 Mês
Instalações
Domínio
.imosver.com
_gcl_au
Descrição
Cookie do Google Ads. Regista a visita proveniente de um anúncio para poder medir as conversões das campanhas publicitárias.
Duração
3 Mês
Instalações
Domínio
.imosver.com
_uetsid
Descrição
Cookie da Microsoft Advertising. Identifica a tua sessão de navegação para medir as conversões das campanhas publicitárias do Bing.
Duração
1 dias
Instalações
Domínio
.imosver.com
_uetvid
Descrição
Cookie da Microsoft Advertising. Identifica o teu navegador entre visitas diferentes para medir as conversões das campanhas publicitárias do Bing.
Cada año, se invierten innumerables horas y se pierden numerosos recursos debido a código mal escrito, ralentizando el desarrollo, disminuyendo la productividad, generando graves fallos e incluso pudiendo acabar con la organización o empresa. El reconocido experto de software Robert C. Martin, junto con sus colegas de Object Mentor, nos presentan sus óptimas técnicas y metodologías ágiles para limpiar el código sobre la marcha y crearlo de forma correcta, de este modo mejorará como programador. Esta obra se divide en tres partes. La primera describe los principios, patrones y prácticas para crear código limpio. La segunda incluye varios casos de estudio cuya complejidad va aumentando. Cada ejemplo es un ejercicio de limpieza y transformación de código con problemas. La tercera parte del libro contiene una lista de heurística y síntomas de código erróneo (smells) confeccionada al crear los casos prácticos. El resultado es una base de conocimientos que describe cómo pensamos cuando creamos, leemos y limpiamos código. Imprescindible para cualquier desarrollador, ingeniero de software, director de proyectos, jefe de equipo o analista de sistemas interesado en crear código de mejor calidad. ¡El libro que todo programador debe leer!Prólogo Introducción Sobre la imagen de cubierta 1. Código limpio Hágase el código Código incorrecto El coste total de un desastre El gran cambio de diseño Actitud El enigma ¿El arte del código limpio? Concepto de código limpio Escuelas de pensamiento Somos autores La regla del Boy Scout Precuela y principios Conclusión Bibliografía 2. Nombres con sentido Introducción Usar nombres que revelen las intenciones Evitar la desinformación Realizar distinciones con sentido Usar nombres que se puedan pronunciar Usar nombres que se puedan buscar Evitar codificaciones Notación húngara Prefijos de miembros Interfaces e implementaciones Evitar asignaciones mentales Nombres de clases Nombres de métodos No se exceda con el atractivo Una palabra por concepto No haga juegos de palabras Usar nombres de dominios de soluciones Usar nombres de dominios de problemas Añadir contexto con sentido No añadir contextos innecesarios Conclusión 3. Funciones Tamaño reducido Bloques y sangrado Hacer una cosa Secciones en funciones Un nivel de abstracción por función Leer código de arriba a abajo: la regla descendente Instrucciones Switch Usar nombres descriptivos Argumentos de funciones Formas monádicas habituales Argumentos de indicador Funciones diádicas Triadas Objeto de argumento Listas de argumentos Verbos y palabras clave Sin efectos secundarios Argumentos de salida Separación de consultas de comando Mejor excepciones que devolver códigos de error Extraer bloques Try/Catch El procesamiento de errores es una cosa El imán de dependencias Error.java No repetirse Programación estructurada Cómo crear este tipo de funciones Conclusión SetupTeardownIncluder Bibliografía 4. Comentarios Los comentarios no compensan el código incorrecto Explicarse en el código Comentarios de calidad Comentarios legales Comentarios informativos Explicar la intención Clarificación Advertir de las consecuencias Comentarios TODO Amplificación Javadoc en API públicas Comentarios incorrectos Balbucear Comentarios redundantes Comentarios confusos Comentarios obligatorios Comentarios periódicos Comentarios sobrantes Comentarios sobrantes espeluznantes No usar comentarios si se puede usar una función o una variable Marcadores de posición Comentarios de llave de cierre Asignaciones y menciones Código comentado Comentarios HTML Información no local Demasiada información Conexiones no evidentes Encabezados de función Javadocs en código no público Ejemplo Bibliografía 5. Formato La función del formato Formato vertical La metáfora del periódico Apertura vertical entre conceptos Densidad vertical Distancia vertical Declaraciones de variables Variables de instancia Funciones dependientes Afinidad conceptual Orden vertical Formato horizontal Apertura y densidad horizontal Alineación horizontal Sangrado Romper el sangrado Ambitos ficticios Reglas de equipo Reglas de formato de Uncle Bob 6. Objetos y estructuras de datos Abstracción de datos Antisimetría de datos y objetos La ley de Demeter Choque de trenes Híbridos Ocultar la estructura Objetos de transferencia de datos Registro activo Conclusión Bibliografía 7. Procesar errores Usar excepciones en lugar de códigos devueltos Crear primero la instrucción try-catch-finally Usar excepciones sin comprobar Ofrecer contexto junto a las excepciones Definir clases de excepción de acuerdo a las necesidades del invocador Definir el flujo normal No devolver Null No pasar Null Conclusión Bibliografía 8. Límites Utilizar código de terceros Explorar y aprender límites Aprender log4j Las pruebas de aprendizaje son algo más que gratuitas Usar código que todavía no existe Límites limpios Bibliografía 9. Pruebas de unidad Las tres leyes del DGP Realizar pruebas limpias Las pruebas propician posibilidades Pruebas limpias Lenguaje de pruebas específico del dominio Un estándar dual Una afirmación por prueba Un solo concepto por prueba F.I.R.S.T. Conclusión Bibliografía 10. Clases Organización de clases Encapsulación Las clases deben ser de tamaño reducido El Principio de responsabilidad única Cohesión Mantener resultados consistentes en muchas clases de tamaño reducido Organizar los cambios Aislarnos de los cambios Bibliografía 11. Sistemas Cómo construir una ciudad Separar la construcción de un sistema de su uso Separar Main Factorías Inyectar dependencias Evolucionar Aspectos transversales Proxies de Java Estructuras AOP Java puras Aspectos de AspectJ Pruebas de unidad de la arquitectura del sistema Optimizar la toma de decisiones Usar estándares cuando añadan un valor demostrable Los sistemas necesitan lenguajes específicos del dominio Conclusión Bibliografía 12. Emergencia Limpieza a través de diseños emergentes Primera regla del diseño sencillo: Ejecutar todas las pruebas Reglas 2 a 4 del diseño sencillo: Refactorizar Eliminar duplicados Expresividad Clases y métodos mínimos Conclusión Bibliografía 13. Concurrencia ¿Por qué concurrencia? Mitos e imprecisiones Desafíos Principios de defensa de la concurrencia Principio de responsabilidad única (SRP) Corolario: Limitar el ámbito de los datos Corolario: Usar copias de datos Corolario: Los procesos deben ser independientes Conocer las bibliotecas Colecciones compatibles con procesos Conocer los modelos de ejecución Productor-Consumidor Lectores-Escritores La cena de los filosofos Dependencias entre métodos sincronizados Reducir el tamaño de las secciones sincronizadas Crear código de cierre correcto es complicado Probar código con procesos Considerar los fallos como posibles problemas de los procesos Conseguir que primero funcione el código sin procesos El código con procesos se debe poder conectar a otros elementos El código con procesos debe ser modificable Ejecutar con más procesos que procesadores Ejecutar en diferentes plataformas Diseñar el código para probar y forzar fallos Manual Automática Conclusión Bibliografía 14. Refinamiento sucesivo Implementación de Args Cómo se ha realizado Args: El primer borrador Entonces me detuve Sobre el incrementalismo Argumentos de cadena Conclusión 15. Aspectos internos de JUnit La estructura JUnit Conclusión 16. Refactorización de SerialDate Primero, conseguir que funcione Hacer que sea correcta Conclusión Bibliografía 17. Síntomas y heurística Comentarios C1: Información inapropiada C2: Comentario obsoleto C3: Comentario redu